草庐IT

EF Core入门

全部标签

【Java并发入门】03 互斥锁(上):解决原子性问题

原子性问题的源头是线程切换Q:如果禁用CPU线程切换是不是就解决这个问题了?A:单核CPU可行,但到了多核CPU的时候,有可能是不同的核在处理同一个变量,即便不切换线程,也有问题。所以,解决原子性的关键是「同一时刻只有一个线程处理该变量,也被称为互斥」。如何做到呢?用「锁」。一、锁模型一)简易锁模型一般看到的锁模型长下面这样。但对于这个模型,会有几个疑问:锁的是什么?临界区的这一堆代码相关的都被锁了?保护的又是什么?二)改进后的锁模型用下面这个模型来解释就解答了上面几个问题:要保护的是临界区中的资源R因此要为R创建一个对应的锁LR需要处理资源R的时候先加锁,处理完之后解锁要注意的是:一个资源必

【C++】C++入门 auto关键字详解(C++11)

前言C语言中包括了关键字auto,它可用于定义局部变量。但自从所有的非全局变量的缺省值假定为auto以来,auto就几乎很少使用了。在C或者以前C++中,auto关键字基本上可以被无视.但是在C++11中auto不再是一个存储类型指示符,而是作为一个新的类型指示符来指示编译器,auto声明的变量必须由编译器在编译时期推导而得。auto关键字一、C语言中的auto1、C语言中,auto用于声明一个变量为自动变量2、C语言中,只使用auto修饰变量,变量的类型默认为整型二、C++中的auto1、auto的基本介绍2、auto的使用细则1.使用auto定义变量时必须对其进行初始化2.auto与指针和

QT SSL handshake failed问题分析与解决 QT基础入门【网络编程】openssl

问题:使用https方式进行post和get请求时,有时候会出现SSLhandshakefailed的问题,其实是调用QtQNetworkAccessManager出现的问题。其实SSL握手是建立HTTPS连接过程的第一步。为了验证和建立连接,用户的浏览器和网站的服务器必须经过一系列检查(握手),从而建立HTTPS连接参数。分析: QNetworkRequest::setSslConfiguration(constQSslConfiguration&configuration);这个函数呢,可以设置SSL的配置,包括OpenSSL以及其它的SSL,函数默认设置是对服务器的安全证书进行验证的。由

Visual Studio 2022安装教程(非常详细),从零基础入门到精通,看完这一篇就够了(附安装包)

软件下载软件:VisualStudio版本:2022语言:简体中文大小:4.11M安装环境:Win11/Win10/Win8/Win7硬件要求:CPU@2.0GHz内存@4G(或更高)下载通道①百度网盘丨下载链接:https://pan.baidu.com/s/1yGK5t3d1KHG0XwcVPKWHvQ提取码:7777软件介绍VisualStudio是微软推出的一款C++编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序,VS是一个非常完整的开发工具集,包括了所有软件生命周期中所需的大部分工具,如UML工具、代码管控工具、集成开发环境(IDE)等等。一、VS安装1.VS下载官网:点

DFS(深度优先搜索算法)入门保姆级超详解

如题,本篇创作目的在于更精细化理解DFS的运作,篇幅不长,也只是作者的一家之言,只为提供一个对入门者的更精细的解释。DFS,深度优先搜索算法,首先我们看中文,可以很清楚的理解到这个算法是指搜索操作中优先进行深度也就是纵向的数据筛查。看搜索的基本思路:360百科:当节点v的所有边都己被探寻过,搜索将回溯到发现节点v的那条边的起始节点。这一过程一直进行到已发现从源节点可达的所有节点为止。如果还存在未被发现的节点,则选择其中一个作为源节点并重复以上过程,整个进程反复进行直到所有节点都被访问为止。属于盲目搜索。百度百科/维基百科(两个是一样的):深度优先遍历图的方法是,从图中某顶点v出发:(1)访问顶

网络安全|渗透测试入门学习,从零基础入门到精通—渗透中的开发语言

目录前面的话开发语言1、html解析2、JavaScript用法3、JAVA 特性4、PHP作用PHP能做什么?5、C/C++使用如何学习前面的话关于在渗透中需要学习的语言第一点个人认为就是可以打一下HTML,JS那些基础知识,磨刀不误砍柴工。其次,了解基本的代码后,就可以去学习相关的漏洞知识了,无非就是JAVA,PHP,Python等,了解它们的原理、学会它们的利用,知道它们的防御,即可。 在这里今天主要讲解一些渗透中的开发语言。开发语言1、html超文本标记语言(英语:HyperTextMarkupLanguage,简称:HTML)是一种用于创建网页的标准标记语言。您可以使用HTML来建立

Nginx 入门实战(1)--简介及安装

本文介绍的Nginx为开源版本Nginx,官网地址为:https://nginx.org/en/,如需了解商业版本,可访问商业版官网:https://www.nginx-cn.net/;文中所使用到的软件版本:Nginx1.22.1、pcre8.43、opnessl1.1.1s、zlib1.2.11、CentOS 7.9.2009。1、简介nginx[enginex]是一款Http和反向代理服务器、邮件代理服务器和通用TCP/UDP代理服务器。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、简单的配置文件和低系统资源的消耗而闻名。Nginx可以在大多数UnixLinuxOS上

读数据压缩入门笔记05_字典转换

1. 瓶颈1.1. 在网络带宽有限、存储昂贵的时期1.2. 移动设备正日益成为人们访问互联网的首选的今天1.3. 数据压缩成了缓解这些瓶颈的关键2. 字典转换2.1. dictionarytransforms2.2. 完全改变了人们对数据压缩的认知2.2.1. 压缩变成了一种对各种类型的数据都有用的算法2.3. 事实上今天所有的主流压缩算法(比如GZIP或者7-Zip)都会在核心转换步骤中使用字典转换3. 基本字典转换3.1. 统计压缩主要关注数据流中单个符号的出现概率3.2. 这一概率与其周围可能出现的符号无关3.3. 符号字典3.4. 任何出现可以重复使用的相似内容分组的地方,都会有“短语

读数据压缩入门笔记06_上下文转换

1. 压缩算法可归为两类1.1. 统计压缩(即VLC)1.2. 字典压缩(如LZ78)1.3. 从不同的角度利用了给定数据流中存在的统计冗余信息2. 上下文变换2.1. contextualtransform2.2. 给定一组相邻的符号集,对它们进行某种方式的变换使其更容易压缩3. 行程编码3.1. run-lengthencoding,RLE3.2. 过去40多年来看似很简单、实则很高效的编码技术3.3. 单字符上下文模型3.3.1. 对任何给定的符号,在编码时我们都只考虑它的前一个符号3.3.1.1. 如果这两个符号是相同的,那么行程继续3.3.1.2. 如果不相同,那么当前行程终止3.4

06《算法入门教程》快速排序

1.前言本节内容是排序算法系列之一:快速排序,主要讲解了快速排序的主体思路,选取了一个待排序的数字列表对快速排序算法进行了演示,给出了快速排序算法的Java代码实现,帮助大家可以更好地理解快速排序算法。2.什么是快速排序?快速排序(QuickSort),是计算机科学与技术领域中非常经典的一种排序算法,应用分治思想进行排序。快速排序由于其时间复杂度优于大部分的排序算法,因而命名为快速排序。快速排序实现的核心思想就是在待排序序列中选择一个基准值,然后将小于基准值的数字放在基准值左边,大于基准值的数字放在基准值右边,然后左右两边递归排序,整个排序过程中最关键部分就是寻找基准值在待排序序列中的索引位置